package com.leyou.common.advices;

import com.leyou.common.exceptions.LyException;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
//     -------------------------    自定义异常     -------------------------

/*  @ControllerAdvice: 表示： 该异常信息 作用于 所有 增加了@Controller 的注解
          @ControllerAdvice :的方法 全局应用于 所有控制器            */

@ControllerAdvice
public class CommonExceptionAdvice {
    //  以下编写异常处理的 方法

    /**
     * @ExceptionHandler ： 表示 加了这注解的 方法 可以处理各种各样的异常
     * @param e 捕获到的异常
     * @return 返回给页面的状态码和信息
     */
    @ExceptionHandler(LyException.class)
    public ResponseEntity<String> handleLyException(LyException e) {
        return ResponseEntity.status(e.getStatus()).body(e.getMessage());
    }
}
